package  com.pin.zheng.xingmulibrary.http.interfaces;


import com.pin.zheng.xingmulibrary.base.BaseObjectBean;

import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;

public interface APIService {

    /**
     * 登陆
     *
     * @param requestStr
     * @return
     */
    @POST("user/login")
    Observable<BaseObjectBean<String>> login(@Body String requestStr);

    /**
     * 注册
     *
     * @param requestStr
     * @return
     *//*
    @POST("user/register")
    Observable<BaseObjectBean<String>> register(@Body LoginParameterItem requestStr);

    *//**
     * 获取个人信息
     *
     * @param requestStr
     * @return
     *//*
    @POST("personal/detail")
    Observable<BaseObjectBean<UserItem>> getUserInfo(@Body UserParameterItem requestStr);

    *//**
     * 修改个人信息
     *
     * @param requestStr
     * @return
     *//*
    @POST("personal/edit")
    Observable<BaseObjectBean<String>> userEditInfo(@Body UserEditParameteritem requestStr);

    *//**
     * 获取推荐路线
     *
     * @param requestStr
     * @return
     *//*
    @FormUrlEncoded
    @POST("user/info/edit")
    Observable<BaseObjectBean<LatLngPointItem>> getLatLngPointItems(@Field("requestStr") String requestStr);

    *//**
     * 获取我的足记
     *
     * @param requestStr
     * @return
     *//*
    @POST("personal/footPrint")
    Observable<BaseObjectBean<List<HomeListItem>>> getFootMarkListItems(@Body UserParameterItem requestStr);

    *//**
     * 获取我的足记
     *
     * @param requestStr
     * @return
     *//*
    @POST("personal/personalFoot")
    Observable<BaseObjectBean<List<PersonalFootItem>>> getPersonalFoot(@Body UserParameterItem requestStr);

    *//**
     * 登出
     *
     * @param requestStr
     * @return
     *//*
    @POST("user/logOut")
    Observable<BaseObjectBean<String>> logOut(@Body UserParameterItem requestStr);

    *//**
     * 注销账号
     *
     * @param requestStr
     * @return
     *//*
    @POST("user/cancellation")
    Observable<BaseObjectBean<String>> cancellation(@Body UserParameterItem requestStr);

    *//**
     * 管理员删除用户账号
     *
     * @param requestStr
     * @return
     *//*
    @POST("user/delete")
    Observable<BaseObjectBean<String>> userDelete(@Body UserParameterItem requestStr);

    *//**
     * 首页接口
     *
     * @return
     *//*
    @POST("home/list")
    Observable<BaseObjectBean<List<HomeListItem>>> homeList();

    *//**
     * 上传景点
     *
     * @param requestStr
     * @return
     *//*
    @POST("spots/uploadSpots")
    Observable<BaseObjectBean<String>> uploadSpots(@Body ScenicSpotParameterItem requestStr);

    *//**
     * 修改景点
     *
     * @param requestStr
     * @return
     *//*
    @POST("spots/editSpots")
    Observable<BaseObjectBean> editSpots(@Body ScenicSpotParameterItem requestStr);

    *//**
     * 上传景区
     *
     * @param requestStr
     * @return
     *//*
    @POST("area/uploadArea")
    Observable<BaseObjectBean> uploadArea(@Body ScenicParameterItem requestStr);

    *//**
     * 上传景区
     *
     * @param requestStr
     * @return
     *//*
    @POST("area/editArea")
    Observable<BaseObjectBean> editArea(@Body ScenicParameterItem requestStr);

    *//**
     * 上传推荐路线
     *
     * @param requestStr
     * @return
     *//*
    @POST("route/uploadRoute")
    Observable<BaseObjectBean> uploadRoute(@Body UploadRouteParameterItem requestStr);

    *//**
     * 删除推荐路线
     *
     * @param requestStr
     * @return
     *//*
    @POST("route/delete")
    Observable<BaseObjectBean> deleteRoute(@Body DelRouteParameterItem requestStr);

    *//**
     * 获取景区推荐路线
     *
     * @param requestStr
     * @return
     *//*
    @POST("route/getRouteByScenicId")
    Observable<BaseObjectBean<List<RouteListItems>>> getRouteByScenicId(@Body UploadRouteParameterItem requestStr);

    *//**
     * 获取景区的全部景点
     *
     * @param requestStr
     * @return
     *//*
    @POST("area/getSpots")
    Observable<BaseObjectBean<List<ScenicSpotListItem>>> getSpots(@Body UploadRouteParameterItem requestStr);

    *//**
     * 意见反馈
     *
     * @param requestStr
     * @return
     *//*
    @POST("feedback/submit")
    Observable<BaseObjectBean> submit(@Body FeedBackParameterItem requestStr);

    *//**
     * 版本更新
     *
     * @param requestStr
     * @return
     *//*
    @POST("package/install")
    Observable<BaseObjectBean<VersionInfoItem>> install(@Body VersionParameterItem requestStr);

    *//**
     * 上传安装包
     *
     * @param requestStr
     * @return
     *//*
    @POST("package/uploadPackage")
    Observable<BaseObjectBean> uploadPackage(@Body VersionInfoItem requestStr);

    *//**
     * 删除安装包
     *
     * @param requestStr
     * @return
     *//*
    @POST("package/delete")
    Observable<BaseObjectBean> deletePackage(@Body VersionInfoItem requestStr);

    *//**
     * 获取安装包列表
     *
     * @param requestStr
     * @return
     *//*
    @POST("package/list")
    Observable<BaseObjectBean<List<VersionInfoItem>>> getPackageList(@Body UserParameterItem requestStr);

    //上传文件
    @Multipart
    @POST("personal/uploadfile")
    Observable<BaseObjectBean<String>> uploadfile(@Part List<MultipartBody.Part> file);

    *//**
     * 管理员删除用户账号
     *
     * @param requestStr
     * @return
     *//*
    @POST("user/delete")
    Observable<BaseObjectBean> deleteUser(@Body UserParameterItem requestStr);

    *//**
     * 上传启动图片
     *
     * @param requestStr
     * @return
     *//*
    @POST("diagram/uploadDiagram")
    Observable<BaseObjectBean> uploadDiagram(@Body UploadDiagramParameterItem requestStr);

    *//**
     * 获取启动图列表
     *
     * @param requestStr
     * @return
     *//*
    @POST("diagram/list")
    Observable<BaseObjectBean<List<HomeImageListItem>>> diagramList(@Body UserParameterItem requestStr);

    *//**
     * 获取启动图列表
     *
     * @return
     *//*
    @POST("diagram/getDiagram")
    Observable<BaseObjectBean<List<HomeImageListItem>>> getDiagram();

    *//**
     * 获取启动图列表
     *
     * @return
     *//*
    @POST("diagram/editDiagram")
    Observable<BaseObjectBean> editDiagram(@Body UploadDiagramParameterItem requestStr);

    @FormUrlEncoded
    @POST("user/albumlist")
    Observable<BaseObjectBean<ArrayList<PhotosBean>>> albumList(@Field("requestStr") String requestStr);*/



}
